﻿using System;
using System.Web.UI;
using ControlStock.Servicio;
using ControlStock.Dominio;

namespace ControlStock
{
    public partial class AltaModBases : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["id_Usuario"] == null)
                Response.Redirect("index.aspx");
            if (!Page.IsPostBack)
            {
                if (Request["id"] != null)
                {
                    BaseTrabajoServicio servicioBases = new BaseTrabajoServicio();
                    Bases bBase = servicioBases.buscar(Convert.ToInt32(Request["id"]));
                    txtNombre.Text = bBase.Nombre_Base;
                    hfIdBase.Value = bBase.Id_Base.ToString();
                    ddlestado.SelectedValue = bBase.Estado_Base.ToString();
                    ddlusuario.SelectedValue = bBase.Usuario.Id_Usu.ToString();
                }
                UsuarioServicio servicioUsuario = new UsuarioServicio();
                ddlusuario.DataSource = servicioUsuario.Listar();
                ddlusuario.DataTextField = "Nombre_Usu";
                ddlusuario.DataValueField = "Id_Usu";
                ddlusuario.DataBind();
            }

            
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                BaseTrabajoServicio servicioBases = new BaseTrabajoServicio();
                try
                {
                    if (hfIdBase.Value != "")
                    {
                        Bases bBase = servicioBases.buscar(Convert.ToInt32(hfIdBase.Value));
                        bBase.Nombre_Base = txtNombre.Text;
                        bBase.Estado_Base = Boolean.Parse(ddlestado.SelectedItem.Value);
                        if (bBase.Usuario.Id_Usu != int.Parse(ddlusuario.SelectedItem.Value.ToString()))
                        {
                            UsuarioServicio servicioUsuarios = new UsuarioServicio();
                            bBase.Usuario = servicioUsuarios.Buscar(int.Parse(ddlusuario.SelectedItem.Value.ToString()));
                        }
                        servicioBases.ModificarBase(bBase);
                        String html = "";
                        html = "<SCRIPT>";
                        html += " alert('Usuario Modificado con éxito.');";
                        html += "</SCRIPT>";
                        Response.Write(html);
                    }
                    else
                    {
                        servicioBases.Agregar(txtNombre.Text, int.Parse(ddlusuario.SelectedItem.Value.ToString()));
                        String html = "";
                        html = "<SCRIPT>";
                        html += " alert('Usuario Agregado con éxito.');";
                        html += "</SCRIPT>";
                        Response.Write(html);
                    }
                }
                catch (Exception ex)
                {
                    String html = "";
                    html = "<SCRIPT>";
                    html += " alert('Error: " + ex.Message + "');";
                    html += "</SCRIPT>";
                    Response.Write(html);
                }
                Response.Redirect("Administrarbases.aspx");
            }
        }
    }
}
